Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Shanghai Rolex Masters - Shanghai Australian Open - Melbourne Spain F32 Portugal F4 Portugal F6 Spain F7 Portugal F2 Portugal F3 Spain F17 Spain F18 Sweden F5 USA F26 Mexico F10 Mexico F11 USA F1 USA F3 Mexico F1 Costa Rica F1 USA F2 Canada F1 Canada F2 Canada F3 Usa F7 Usa F8 Czech Rep. F2 Czech Rep. F3 Spain F18 Usa F14 Usa F15 Usa F18 Usa F5 Portugal F3 Switzerland F3 Spain F11 Usa F13 Usa F15 Spain F32 Brazil F31 Brazil F32 Brazil F33 Brazil F1 Colombia F1 Colombia F2 Spain F6 Spain F7 USA F7 Spain F9 Spain F10 Spain F11 Spain F12 Spain F13 Spain F15 Morocco F4 Italy F18 Spain F28 Brazil F26 Spain F29 Spain F31 Brazil F33 Spain F38 Spain F39 Spain F41 Spain F1 Spain F2 Spain F4 Spain F6 Croatia F5 Italy F3 Italy F5 Spain F10 Spain F11 Spain F12 Spain F14 Poland F3 Italy F13 France F13 Czech Republic F5 Spain F22 Poland F5 Spain F26 Spain F27 Spain F30 Spain F32 Morocco F6 Morocco F7 Morocco F9 Spain F2 Spain F3 Spain F4 Spain F6 Spain F7 Spain F8 Spain F19 Italy F22 Spain F32 Spain F33 Spain F34 Spain F36 Spain F38 Egypt F3 Spain F1 Spain F3 Spain F4 Italy F7 Spain F29 Spain F30 Italy F6 Portugal F5 Portugal F1 Italy F5 Brazil F22 M15 Sintra M15 Sintra M25 Porto M25 Vale Do Lobo M25 Villena M25 Vale do Lobo M25 Faro M25 Vale do Lobo Colombia F2 Spain F31 M25 Vale do Lobo Spain F5 M25 Vila Real de Santo Antonio M25 Vila Real de Santo Antonio M25 Vale do Lobo Buenos Aires Challenger M25 Porto M25 Figueira da Foz M25 Sintra M25 Reus III Challenger Isla de Gran Canaria Ciudad de Telde - Telde Moncton Men's Challenger - Moncton National Bank Men's Rimouski Challenger - Rimouski JSM Challenger of Champaign - Urbana Abierto Internacional de Salinas 'Dario Expreso' - Salinas Challenger Britania Zavaleta - Puebla Salinas Challenger Sao Paulo Challenger Challenger Banque Nationale - Granby Campos do Jordao Challenger Brasilia Challenger Belo Horizonte Challenger Sao Paulo Challenger Bucaramanga Challenger Le Gosier Challenger Campos do Jordao Challenger Asuncion Challenger Santiago Challenger Sao Paulo Challenger Roma Open Challenger - Rome San Remo Tennis Cup - San Remo Campinas Challenger Recife Challenger Belo Horizonte Challenger Sao Leopoldo Challenger Guayaquil Challenger Sao Paulo Challenger Semgroup Challenger - Tulsa Ford Tennis Championships - Louisville Blumenau Challenger Abierto Internacional Varonil Ciudad de Cancun - Cancun Le Gosier Challenger Arad Challenger Sao Leopoldo Challenger Santos Challenger Sao Paulo Challenger Tanger Challenger Scheveningen Challenger Poznan Challenger Orbetello Challenger Segovia Challenger Bucaramanga Challenger Cordenons Challenger Como Challenger Brasov Challenger Belem Challenger Campinas Challenger Porto Alegre Challenger Sao Jose Do Rio Preto Challenger Bogota Challenger Guayaquil Challenger Bucaramanga Challenger Barranquilla Challenger Sao Paulo Challenger Bordeaux Challenger Vicenza Challenger Furth Challenger Blois Challenger Marburg Challenger San Benedetto Challenger Liberec Challenger Madrid Challenger Seville Challenger Kenitra Challenger Porto Alegre Challenger Charlottesville Challenger Guayaquil Challenger Lima Challenger Casablanca Challenger Santo Domingo Challenger Guangzhou Challenger Buenos Aires Challenger Dallas Challenger Savannah Challenger Bordeaux Challenger Perugia Challenger Vancouver Challenger Cordenons Challenger Como Challenger Sarasota Challenger Nielsen USTA Pro Tennis Championship - Winnetka Prague Challenger Rio De Janeiro Challenger Rome Challenger Guayaquil Challenger Corrientes Challenger Buenos Aires Challenger Bucaramanga Challenger Bangkok Challenger Barletta Challenger Santo Domingo Challenger Bucaramanga Challenger Mestre Challenger Turin Challenger Braunschweig Challenger Cortina Challenger Bastad Challenger Itajai Challenger Barletta Challenger Sao Paulo Challenger Caltanissetta Challenger Montevideo Challenger Noumea Challenger Sao Paulo Challenger Dallas Challenger Ostrava Challenger Rome Challenger Aix En Provence Challenger Lisbon Challenger Braunschweig Challenger Montevideo Challenger Todi Challenger Milan Challenger Guadalajara Challenger Braunschweig Challenger Kazan Challenger San Benedetto Challenger Scheveningen Challenger Meknes Challenger Campinas Challenger Cortina Challenger Biella Challenger Floridablanca Challenger Manerbio Challenger Santo Domingo Challenger Seville Challenger Banja Luka Challenger Como Challenger Campinas Challenger Knoxville Challenger Champaign Challenger Buenos Aires Challenger Cali Challenger Fano Challenger Lima Challenger Guayaquil Challenger Santiago Challenger Santiago Challenger Le Gosier Challenger Barletta Challenger Tunis Challenger M25 Quinta Do Lago Braga Challenger Mestre Challenger Prostejov Challenger Braunschweig Challenger San Benedetto Challenger Genova Challenger Aptos Challenger Santo Domingo Challenger Barcelona Challenger Montevideo Challenger Meknes Challenger Luedenscheid Challenger M25 Sintra Lisbon Challenger Orlando Challenger Sophia Antipolis Challenger Poznan Challenger Mohammedia Challenger Bendigo Challenger Lima Challenger Buenos Aires Challenger Montevideo Challenger Florence Challenger Bendigo Challenger Maia Challenger Tunis Challenger Oeiras 4 Challenger Napoli Challenger Amersfoort Challenger Cordenons Challenger Seville Challenger Bordeaux Challenger Vicenza Challenger Prostejov Challenger Lyon Challenger Perugia Challenger Campinas Challenger Oeiras 1 Challenger Girona Challenger Todi Challenger Aix En Provence Challenger Oeiras 1 Challenger Perugia Challenger Meerbusch Challenger Seville Challenger Como Challenger Genova Challenger Meknes Challenger Poznan Challenger Casablanca Challenger Puerto Vallarta Challenger Forli 6 Challenger Montechiarugolo - Parma Challenger Braunschweig Challenger Szczecin Challenger Bordeaux Challenger Poprad Tatry Challenger Sao Jose Do Rio Preto Challenger Bastad Challenger Canberra Challenger Seville Challenger Lisbon Challenger Florianopolis Challenger Oeiras 1 Challenger Manama Challenger Rome Challenger Oeiras 1 Challenger Oeiras 2 Challenger Montevideo Challenger Rennes Challenger Porto 2 Challenger Lisbon Challenger Oeiras 4 Challenger Maia 1 Challenger M25 Quinta do Lago Levene Gouldin & Thompson Tennis Challenger - Binghamton Madrid Challenger Alicante Challenger Porto Challenger Santos Challenger Guayaquil Challenger Parma Challenger Sao Paulo Challenger L'Aquila Challenger Valencia Challenger Como Challenger Biella Challenger Naples Challenger - Naples Brest Challenger Lima Challenger Guayaquil Challenger Caltanissetta Challenger Canberra Challenger Columbus Challenger Newport Beach Challenger Chennai Challenger Bangkok Challenger Yokohama Challenger Phoenix Challenger Alicante Challenger Murcia Challenger Sarasota Challenger Francavilla Challenger Lima 2 Challenger Timisoara Challenger Braga Challenger Liberec Challenger Francavilla Challenger Tampere Challenger Nur-Sultan Challenger Pozoblanco Challenger Genova Challenger Szczecin Challenger Barcelona Challenger St. Remy Challenger Oeiras 2 Challenger Oeiras 3 Challenger Biella 7 Challenger Forli Challenger Porto Challenger Salzburg-Anif Challenger Gran Canaria Challenger Tampere Challenger San Marino Challenger Verona Challenger Maia 2 Challenger Cherbourg Challenger Forli 5 Challenger Roseto Degli Abruzzi 2 Challenger Marbella Challenger Oeiras 2 Challenger Oldum Brown Vancouver Open - Vancouver Oeiras 3 Challenger Campinas Challenger Curitiba Challenger Lima Challenger Seville Challenger Campinas Challenger Rio De Janeiro Challenger Las Vegas Challenger Lima 2 Challenger Montevideo Challenger Sao Leopoldo Challenger Milan Challenger Phoenix Challenger Prague 2 Challenger Bancolombia Open - Bogota Mohammedia Challenger Oeiras 3 Challenger Porto Challenger Mallorca Challenger Bad Waltersdorf Challenger Santa Fe 2 Challenger Montevideo Challenger Oeiras 2 Challenger Tenerife 2 Challenger Murcia Challenger Girona Challenger Oeiras 3 Challenger Oeiras 4 Challenger Braunschweig Challenger Pozoblanco Challenger Oeiras 5 Challenger GHI Bronx Tennis Classic - Bronx Tenerife 1 Challenger Brest Challenger Ann Arbor Challenger Seville Challenger Sacramento Challenger - Sacramento Salvador Challenger Aix En Provence Challenger Lisbon Challenger Marbella Challenger Guayaquil Challenger Milan Challenger Recife Challenger Szczecin Challenger Jonkoping Challenger Murcia Challenger Prague Challenger Santiago Challenger Bordeaux Challenger Estoril Open - Estoril Estoril Open - Estoril Shenzhen Challenger Manerbio Challenger Vicenza Challenger Kenitra Challenger Dallas Challenger Estoril Open - Estoril Estoril Open - Estoril Marbella Challenger Dallas Challenger San Juan Challenger Bordeaux Challenger Aix En Provence Challenger Padova Challenger Braunschweig Challenger Porto Alegre Challenger Montevideo Challenger Le Gosier Challenger Open de Nice Cote d'Azur - Nice Napoli Challenger Marbella Challenger Bucaramanga Challenger Estoril Open - Estoril Salzburg Challenger Copa Claro - Buenos Aires Rome Challenger Itajai Challenger VTR Open - Vina del Mar Portugal Open - Oeiras Mercedes Cup - Stuttgart Bet-at-home Open - Hamburg Brasil Open - Sao Paulo Grand Prix Hassan II - Casablanca Ecuador Open - Quito Barcelona Open BancSabadell - Barcelona SkiStar Swedish Open - Bastad Generali Open - Kitzbuhel Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Argentina Open - Buenos Aires Millennium Estoril Open - Estoril Winston-Salem Open - Winston-Salem Argentina Open - Buenos Aires Tunis Challenger Forte Village Sardegna Open - Sardinia Millennium Estoril Open - Estoril Santiago Challenger Millennium Estoril Open - Estoril Las Franquesas del Valles Challenger Sao Paulo Challenger Konzum Croatia Open - Umag Millennium Estoril Open - Estoril Gerry Weber Open - Halle Nordea Open - Bastad European Open - Antwerp Ecuador Open - Quito Erste Bank Open - Vienna Open Parc - Lyon Casablanca Challenger Anytech365 Andalucia Open - Marbella Adelaide International 2 - Adelaide Cordoba Open - Cordoba Plava Laguna Croatia Open - Umag Sofia Open - Sofia Delray Beach International Tennis Championships - Delray Beach Barcelona Open Banc Sabadell - Barcelona Estoril Open - Estoril Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Panama City Challenger Santos Challenger Fever-Tree Championships - London Turkish Airlines Open Antalya - Antalya Lexington Challenger Belgrade 2 - Belgrade Prague Challenger Alphen Challenger Zagreb Challenger Prague Challenger Todi Challenger U.S. National Indoor Tennis Championships - Memphis Firenze Open - Florence Tata Open Maharashtra - Pune Buenos Aires Challenger Gonet Geneva Open - Geneva Estoril Open - Estoril Astana Open - Astana Irving Challenger Shenzhen Challenger Cordenons Challenger Genova Challenger ASB Classic - Auckland Grand Prix Hassan II - Marrakech VTR Open - Vina del Mar Brasil Open - Sao Paulo EFG Swiss Open - Gstaad Estoril Challenger Casablanca Challenger Mendoza Challenger Rio De Janeiro Challenger Delray Beach International Tennis Championships - Delray Beach Grand Prix Hassan II - Casablanca Montevideo Challenger Lisbon Challenger Barcelona Open BancSabadell - Barcelona Portugal Open - Oeiras Porto Alegre Challenger Furth Challenger Chile Dove Men+Care Open - Santiago Bordeaux Challenger Szczecin Challenger Kosice Challenger Marburg Challenger Delray Beach Open - Delray Beach Kenitra Challenger Buenos Aires Challenger Winston-Salem Open - Winston-Salem Campinas Challenger Erste Bank Open - Vienna Swiss Indoors Basel - Basel Prostejov Challenger Qatar ExxonMobil Open - Doha Abierto Mexicano Telcel - Acapulco ATP Challenger Tour Finals Sao Paulo Challenger Braunschweig Challenger US Men's Clay Court Championship - Houston Rio Open - Rio de Janeiro Open Parc - Lyon Sibiu Challenger Bordeaux Challenger Braga Challenger BB&T Atlanta Open - Atlanta Antalya Cup - Antalya European Open - Antwerp Lima Challenger Rio De Janeiro Challenger Zadar Challenger Seville Challenger Ecuador Open - Quito Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasov Challenger Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona TEB BNP Paribas Istanbul Open - Istanbul Mohammedia Challenger Todi Challenger Tampere Challenger Oberstaufen Challenger Rakuten Japan Open - Tokyo If Stockholm Open - Stockholm Kremlin Cup - Moscow Apia International - Sydney SkiStar Swedish Open - Bastad Campinas Challenger Forli 4 Challenger Mersin Challenger Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Blois Challenger Bangkok Challenger Campinas Challenger Sao Paulo Challenger Generali Open - Kitzbuhel Tampere Challenger Sopot Challenger Ecuador Open - Quito Lisbon Challenger Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Grand Prix Hassan II - Marrakech Buenos Aires Challenger SkiStar Swedish Open - Bastad Guayaquil Challenger Bet-at-home Open - Hamburg Argentina Open - Buenos Aires Tata Open Maharashtra - Pune Cordoba Open - Cordoba Lima Challenger Campinas Challenger Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Santiago Challenger Barcelona Open Banc Sabadell - Barcelona Marbella Challenger Belgrade Challenger Aix En Provence Challenger Swiss Open - Gstaad Generali Open - Kitzbuhel Poznan Challenger Winston-Salem Open - Winston-Salem Lyon Challenger St. Petersburg Open - St. Petersburg Seville Challenger Plava Laguna Croatia Open - Umag Bad Waltersdorf Challenger Sibiu Challenger ASB Classic - Auckland Braga Challenger 2007 Knoxville Challenger - Knoxville Cordoba Open - Cordoba Amersfoort Challenger Santo Domingo Challenger Serbia Open - Belgrade Mallorca Championships - Mallorca Braga Challenger Rio Open - Rio de Janeiro Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Swiss Open - Gstaad Tennis Napoli Open - Naples Braunschweig Challenger Malaga Challenger Buenos Aires Challenger Cordoba Open - Cordoba Chile Dove Men+Care Open - Santiago Grand Prix Hassan II - Marrakech Terra Wortmann Open - Halle European Open - Antwerp Barcelona Open Banc Sabadell - Barcelona Plava Laguna Croatia Open - Umag Bordeaux Challenger Argentina Open - Buenos Aires Braga Challenger Movistar Chile Open - Santiago Olbia Challenger Grand Prix Hassan II - Marrakech Pilot Pen Tennis - New Haven Gonet Geneva Open - Geneva Tenerife 3 Challenger Nordea Open - Bastad Madrid Challenger Citi Open - Washington Moselle Open - Metz Porto Challenger Girona Challenger M25 Mataro Abierto Mexicano - Los Cabos Argentina Open - Buenos Aires Argentina Open - Buenos Aires Francavilla Challenger Argentina Open - Buenos Aires Brasil Open - Sao Paulo Montevideo Challenger Barletta Challenger Monterrey Challenger Waco Challenger Santo Domingo Challenger Noumea Challenger Argentina Open - Buenos Aires Millennium Estoril Open - Estoril Salzburg Challenger Generali Open - Kitzbuhel Hong Kong Tennis Open - Hong Kong Phoenix Challenger Milan Challenger Swiss Open - Gstaad Millennium Estoril Open - Estoril Santiago Open - Santiago Copa Claro - Buenos Aires Sony Ericsson Open - Miami Lyon Challenger Shenzhen Open - Shenzhen Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Mallorca Championships - Mallorca Internazionali BNL d'Italia - Rome Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Cordoba Open - Cordoba Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai Rolex Paris Masters - Paris Internazionali BNL d'Italia - Rome National Bank Open - Montreal BNP Paribas Open - Indian Wells Cincinnati Open - Cincinnati Miami Open - Miami Rio Open - Rio de Janeiro Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati Rolex Paris Masters - Paris EFG Swiss Open - Gstaad Generali Open - Kitzbuhel Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Rio Open - Rio de Janeiro Barcelona Open BancSabadell - Barcelona Rolex Paris Masters - Paris BMW Open - Munich Rio Open - Rio de Janeiro Sony Ericsson Open - Miami BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Miami Open - Miami Great Ocean Road Open - Melbourne BNP Paribas Masters - Paris Sony Ericsson Open - Miami Adelaide International 1 - Adelaide Mallorca Championships - Mallorca Hangzhou Open - Hangzhou China Open - Beijing BNP Paribas Open - Indian Wells Dallas Open - Dallas Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Abierto Mexicano Telcel - Acapulco BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Miami Open - Miami Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Miami Open - Miami Mutua Madrid Open - Madrid National Bank Open - Toronto U.S. Open - New York French Open - Paris Wimbledon - London French Open - Paris Wimbledon - London Campbells Hall of Fame Tennis Championships - Newport St. Petersburg Open - St. Petersburg U.S. Open - New York Aircel Chennai Open - Chennai French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Maharashtra Open - Pune French Open - Paris U.S. Open - New York Australian Open - Melbourne Australian Open - Melbourne French Open - Paris Open Sabadell Atlantico - Barcelona Australian Open - Melbourne Generali Open - Kitzbuhel French Open - Paris Sofia Open - Sofia Sony Open Tennis - Miami U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Davis Cup, Group 2, 2R, POR-TUN 4-1 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 2R, POR-UKR 4-1 Wimbledon - London French Open - Paris U.S. Open - New York Davis Cup, Group I, 2R, SWE-POR 3-2 Australian Open - Melbourne Wimbledon - London Mutua Madrid Open - Madrid Australian Open - Melbourne Davis Cup, World Group, Q, SUI-ESP 1-3 Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Wimbledon - London French Open - Paris U.S. Open - New York Wimbledon - London U.S. Open - New York Wimbledon - London U.S. Open - New York U.S. Open - New York Australian Open - Melbourne Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group I, PO, POR-SLO 5-0 Australian Open (juniors) Wimbledon (juniors) All Lower level tournaments Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group 1, 1R, GEO-POR 3-2 Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Group I, PO, POR-POL 4-0 Davis Cup, Group I, 1R, POR-AUT 1-4 Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) Olympics - Rio de Janeiro Olympics - Tokyo French Open (juniors) U.S. Open - New York Miami Open - Miami Wimbledon - London BNP Paribas Open - Indian Wells Valencia Challenger